/// <reference path="jquery.min.js" />
/// <reference path="module/rsseasy.v2.js" />
/// <reference path="module/adapter.js" />
/// <reference path="module/rssapi.v2.js" />

//APP配置基本信息
RssApp["WwwHost"] = "http://sys.zhaojixie.ry2.itemjia.com/";  //https://sysv2.rss.ry1.itemjia.com 线上APP地址,http://sys.wuhouzugong.zhongqijuyi.com/
RssApp["ApiHost"] = RssApp.WwwHost + "api/";   //API接口地址
RssApp["AllPage"] = $("body>section");  //获取所有页
RssApp["Hash"] = "#" + RssApp.AllPage.first().attr("id");  //返回页面
RssApp["Menu"] = $("body>footer>a");   //底部导航栏主菜单
RssApp["Width"] = $(window).width();  //APP窗口宽度
RssApp["WinHeight"] = $(window).height();  //APP窗口高度
RssApp["SmsToken"] = "";  //发送的短信验证码生成的令牌
RssApp["ImgToken"] = "";  //图片验证码生成的令牌
//recharge：充值；withdraw：提现；currency_token：代币，这三个值固定
RssApp["Module"] = { "recharge": 0, "article": 1, "rssframe": 2, "shop": 3 }

//上传文件配置
RssUpFile.DoMain = RssApp.WwwHost + "upfile/";  //上传文件存储地址/绝对路径或相对路径
RssUpFile.ApiHost = RssApp.WwwHost + "api/upload";    //上传文件处理接收地址

//直播配置+
RssLive.DoMain = "live.itemjia.com";
RssLive.AppName = "online";
RssLive.VodHost = "https://live.itemjia.com/";  //录制视频存储点播位置
RssLive.Bucket = "rsseasy";  //阿里OSS名称

//AJAX全局配置信息
Ajax.prototype.prikey = "www.rsseasy.com";  //数据签名密钥
Ajax.prototype.host = RssApp["ApiHost"];   //AJAX请求时URL地址域名前缀部分，如需指定完整地址，可使用setUrl(url)方法指定
Ajax.prototype.oncreate = function () {  //当AJAX对象创建后
}
RssCode.load(RssApp.WwwHost);

Ajax.onrsscode = function (code) {  //当AJAX返回结果中包含rsscode编码值时指定统一的处理方式
    RssCode.alert(code);
}

//加载rydata字典文件，当rydata.js本地不存在或需要通过服务器端动态加载时使用，如果直接通过本地加载请注释
RssDict.load(RssApp.WwwHost);  //远程加载

//RssDict.onrydata(); //本地加载，远程与本地二选一

RssCity.load(RssApp.WwwHost);  //加载城市数据

//与服务器的时间同步
RssTask.onsynctime = function () {
    this.start();
}
RssTask.synctime("time");  //通过指定的接口地址获取服务器当前时间，让本系统内使用的时间与服务器一致

//底部导航菜单
RssApp["Menu"].click(function () {
    RssApp["Menu"].removeClass();
    $(this).addClass("active");
    if (!$(this).attr("islogin")) {
        JsAdapter.ClearHistory().Submit();
    }
});

$("section").each(function ()//通过循环将缓存section的索引值，在页面切换时需要使用
{
    $(this).attr("zindex", $(this).css("z-Index"));
})
//页面切换
RssPage.PageToggle = function (page, change) {
    RssApp["AllPage"].hide();
    if (!page) {
        page = "#" + RssApp.AllPage.first().attr("id");
    }
    var isload = true;
    var form = $(RssApp.Hash);
    var to = $(page);
    form.trigger("unload", function (load) {
        isload = load;
    });
    RssAudio.stop();
    RssVideo.stop();

    var menu = RssApp["Menu"].filter("[href='" + page + "']");
    document.title = to.find("header>h1").text() || document.title;
    if (menu.length || RssApp.Hash == page) {
        menu.click();//改变footer菜单样式，调用方法：RssApp["Menu"].click()
        to.show();
    }
    else {
        form.show().css("z-index", form.attr("zindex"));
        switch (change) {
            case "pagepush":
                to.css({ "transform": "translateX(7.5rem)", "z-index": 3 }).show(0, function () {
                    to.css({ "transform": "translateX(0)", "transition": "transform ease 0.2s" }, function () {
                        setTimeout(function () {
                            form.hide();
                            to.css("z-Index", zindex);
                        }, 100);
                    });
                });
                break;
        }
    }
    if (page != "#loginpage") {
        RssApp.Hash = page;
    }
    if (isload) {
        to.load();
    }
}

window.onhashchange = function () {
    RssPage.PageToggle(location.hash, "pagepush");
};
window.onhashchange();

//检测新版本，在APP中使用，如果是H5或微信端，所有JsAdapter开头的或相关的代码都可以直接删除
JsAdapter.onGetVersion = function (json) {

    $("#versionupdate").html("当前版本（" + json["name"] + "）");

    new Ajax("version").keyvalue(json).getJson(function (json) {
        if (!json["url"]) {
            JsAdapter.onVersion();
            return;
        }
        if (RssOS.isios) {
            //alert("已有新版本，请登陆App Store进行更新");
            return;
        }
        if (RssOS.isandroid) {
            RssDialog.onConfig = function () {
                JsAdapter.Push({ "adapter": "SoftUpdate", "url": RssUpFile.DoMain + json["url"], "background": false }).Submit();
            }
            RssDialog.SetTitle("发现新版本").setConfig("立即升级").AddHtml(json["remark"]).Popup();
        }
    });
}
JsAdapter.onVersion = function () {
}
JsAdapter.GetVersion().Submit();

//检测最新版本，APP内使用
$("#versionupdate").click(function () {
    JsAdapter.onVersion = function () {
        alert("已是最新版本！");
    }
    JsAdapter.GetVersion().Submit();
});

//当点击video标签上的下载按钮时，APP内使用
RssDownFile.onMediaDown = function () {
    alert("禁止直接下载！");
}

//启动页，APP内使用
if (!Storage.Get("launch")) {
    Storage.Set("launch", "1");
    var launchpage = $("#launchpage");
    launchpage.find("ul").pageslide().on("pageslideend", function (ev, json) {
        if (json["curpage"] == json["totalpage"]) {
            launchpage.hide();
        }
    });
    launchpage.show();
}
RssUser.onLogin = function () {
    location.href = RssUser.History;
}

//当点击物理返回键/返回按钮时调用
JsAdapter.onRollBack = function () {
    RssWin.MaskLayer.close(150);

    //关闭打开的弹窗、对话框、置顶层
    var popupitem = $(".dialogbox:visible,.choosepopup:visible,.toplayer:visible");
    if (popupitem.length) {
        popupitem.hide();
        return;
    }

    if (location.hash == "#loginpage") {
        location.replace(RssApp.Hash);
    }
    else {
        history.back();
    }
}

JsAdapter.onReady = function (json) {
    if (json["deviceid"]) {
        RssApi.User.Device().keyvalue("deviceid", json["deviceid"]).keymyid().keyvalue("typeid", RssOS.isandroid ? 2 : 1).post();
    }
}
JsAdapter.Ready({ "myid": RssUser.Data.myid || 0 }).Submit();

RssUser.onLogin=function () {
    location.href = '#index';
}
//RssUser.IsLogin();
if (!RssUser.Data.myid) {
    $('.mineText').text('未登录');
} else {
    $('.mineText').text('我的');
}
//获取包签名
JsAdapter.onGetPackageSign = function (json) {
    new Ajax("package/sign").keyvalue("packagesign", JSON.stringify(json)).post();
}
JsAdapter.GetPackageSign().Submit();